package com.tfjybj.itoo.exam.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import java.io.Serializable;
import java.util.Date;

/**
 * StaffModel
 * 教职工表
 *
 * @author 杨江涛
 * @version 2.0.0
 * @since 2.0.0 2018-11-15 10:35:56
 */
@ApiModel(value = "StaffModel:教职工表")
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
public class StaffModel implements Serializable {

    //region 模板逆向生产来自StaffEntity的属性
    /**
     * id
     */
    @ApiModelProperty(value = "staff主键")
    @Column(name = "id")
    private String id;
    /**
     * 教师姓名
     */
    @ApiModelProperty(value = "教师姓名", required = true)
    private String name;
    /**
     * 监考老师名称
     */
    @ApiModelProperty(value = "监考老师名称", required = true)
    private String teacherName;

    /**
     * 教师编码
     */
    @ApiModelProperty(value = "教师编码", required = true)
    private String code;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    private String email;

    /**
     * 户口所在地
     */
    @ApiModelProperty(value = "户口所在地")
    private String accountAddress;

    /**
     * 入职时间
     */
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
    )
    @ApiModelProperty(value = "入职时间")
    private Date entranceDate;

    /**
     * 毕业院校
     */
    @ApiModelProperty(value = "毕业院校")
    private String graduateSchool;

    /**
     * 身份证
     */
    @ApiModelProperty(value = "身份证")
    private String identityCardId;

    /**
     * 民族
     */
    @ApiModelProperty(value = "民族")
    private String nation;

    /**
     * 籍贯
     */
    @ApiModelProperty(value = "籍贯")
    private String nativePlacenativePlace;

    /**
     * 照片
     */
    @ApiModelProperty(value = "照片")
    private String pictrue;

    /**
     * 政治面貌
     */
    @ApiModelProperty(value = "政治面貌")
    private String politicalStatus;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别")
    private String sex;

    /**
     * 教师工作状态（在职、 休职）
     */
    @ApiModelProperty(value = "教师工作状态（在职、 休职）")
    private String status;

    /**
     * 电话号码
     */
    @ApiModelProperty(value = "电话号码")
    private String telNum;

    /**
     * 学位
     */
    @ApiModelProperty(value = "学位")
    private String degree;

    /**
     * 学历
     */
    @ApiModelProperty(value = "学历")
    private String education;

    /**
     * 是否外聘(0/1 否/是)
     */
    @ApiModelProperty(value = "是否外聘(0/1 否/是)", example = "0")
    private Integer isExternal;

    /**
     * 是否有教师资格（0/1 否/是）
     */
    @ApiModelProperty(value = "是否有教师资格（0/1 否/是）", example = "0")
    private Integer isTeacher;

    /**
     * 现居地
     */
    @ApiModelProperty(value = "现居地")
    private String nowAddress;

    /**
     * 职称_id
     */
    @ApiModelProperty(value = "职称_id")
    private String jobtitleId;

    /**
     * (导师制审核信息用)
     */
    @ApiModelProperty(value = " (导师制审核信息用)")
    private String tutuorType;

    /**
     * 是否为导师(0/1 否/是)
     */
    @ApiModelProperty(value = "是否为导师(0/1 否/是)", example = "0")
    private Integer isTutor;

    /**
     * 简介
     */
    @ApiModelProperty(value = "简介")
    private String brief;

    /**
     * 主要成就
     */
    @ApiModelProperty(value = "主要成就")
    private String achivement;

    /**
     * (导师制审核信息用)
     */
    @ApiModelProperty(value = " (导师制审核信息用)", example = "0")
    private Integer checkOrNot;

    /**
     * 职务id
     */
    @ApiModelProperty(value = "职务id")
    private String dutyId;

    //endregion

    /* *****************************以下是非模板生成的内容************************************ */
    /**
     * 课程名称
     */
    @ApiModelProperty(value = "课程名称")
    private String courseName;


    /**
     * 是否勾选
     */
    @ApiModelProperty(value = "是否勾选")
    private boolean isCheck;

    public boolean getIsCheck() {
        return isCheck;
    }

    public void setIsCheck(boolean Check) {
        isCheck = Check;
    }
}
